Skip to content

[SM6.10][Exec] Implement Remaining LinAlg Smoke Tests#8366

Open
V-FEXrt wants to merge 20 commits intomicrosoft:mainfrom
V-FEXrt:linalg-ops-smoke-test
Open

[SM6.10][Exec] Implement Remaining LinAlg Smoke Tests#8366
V-FEXrt wants to merge 20 commits intomicrosoft:mainfrom
V-FEXrt:linalg-ops-smoke-test

Conversation

@V-FEXrt
Copy link
Copy Markdown
Collaborator

@V-FEXrt V-FEXrt commented Apr 10, 2026

Implements the remaining smoke tests for the LinAlg DXIL ops

Fixes #8126

Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 10, 2026

✅ With the latest revision this PR passed the C/C++ code formatter.

Comment thread tools/clang/unittests/HLSLExec/LinAlgTests.cpp Outdated
Comment thread tools/clang/unittests/HLSLExec/LinAlgTests.cpp Outdated
@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

@V-FEXrt V-FEXrt changed the title [SM6.10][Exec] Implement Remaining Smoke Tests [SM6.10][Exec] Implement Remaining LinAlg Smoke Tests Apr 15, 2026
@V-FEXrt V-FEXrt marked this pull request as ready for review April 15, 2026 00:45
@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

Comment thread tools/clang/unittests/HLSLExec/HlslExecTestUtils.cpp Outdated
Copy link
Copy Markdown
Member

@damyanp damyanp left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I haven't carefully reviewed every test, but overall shape etc. LGTM.

Comment thread tools/clang/unittests/HLSLExec/HlslExecTestUtils.cpp Outdated
[WaveSize(4, 64)]
[numthreads(NUMTHREADS, 1, 1)]
void main(uint threadID : SV_GroupIndex) {
if (WaveReadLaneFirst(threadID) != 0)
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think this test approach works. These linalg calls (and most being tested) should normally be active/uniform across all threads in a wave (for wave/thread scope) or all threads in a group (for threadgroup scope). This if prevents all but the first thread from being active.

This will complicate the testing approach, but it's still doable. For instance, you can use the new GetGroupWaveIndex() and GetGroupWaveCount() to do per-wave inputs/outputs for thread/wave scope. For group scope, all lanes should simply be active, and everything occurs at group scope.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This wave op produces a wave-uniform value, so this makes all but one wave exit.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sorry I misread, but still we could use GetGroupWaveIndex() for this purpose, and we should only do so when not group scope.

@azure-pipelines
Copy link
Copy Markdown

Azure Pipelines:
Successfully started running 1 pipeline(s).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: New

Development

Successfully merging this pull request may close these issues.

Create Basic LinAlg Matrix HLKs

4 participants